Platform Explorer / Nuxeo Platform 5.8

Component org.nuxeo.ecm.social.workspace.layout

Contributions

XML Source

<?xml version="1.0"?>
<component name="org.nuxeo.ecm.social.workspace.layout">

  <require>org.nuxeo.ecm.platform.forms.layouts.webapp.summary</require>
  <require>org.nuxeo.ecm.platform.forms.layouts.webapp.base</require>
  <require>org.nuxeo.ecm.user.registration.layouts.contrib</require>

  <extension target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager"
    point="widgettypes">

    <documentation>
      The widget types from this contribution are intended to be used in the
      summary view. All these widgets are bound to the currentDocument in the
      Seam context.
      You have the possibility to let access to only administrator to change
      the visibility, with the parameter "isOnlyAdministrators"
    </documentation>

    <widgetType name="summary_social_document_visibility_action">
      <configuration>
        <sinceVersion>5.5</sinceVersion>
        <title>Publication of social document</title>
        <description>
          <p>
            This widgets displays the actions of publication on the current document.
          </p>
          <p>
            It requires the following variables to be present in the EL context:
            <ul>
              <li>currentDocument: the current document</li>
            </ul>
          </p>
        </description>
        <categories>
          <category>listing</category>
        </categories>
        <supportedModes>
          <mode>view</mode>
        </supportedModes>
        <!-- no configurable properties -->
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/social_document_visibility_widget_template.xhtml
      </property>
    </widgetType>

    <widgetType name="listing_social_document_consultation">
      <configuration>
        <sinceVersion>5.5</sinceVersion>
        <title>Social document listing widget</title>
        <description>
          <p>
            This widgets displays the title and related actions. To be used in a
            listing of social documents.
          </p>
          <p>
            It supports the following properties:
            <ul>
              <li>displayActions: display or not the actions (edit, delete, ...) for
              the document.</li>
            </ul>
          </p>
        </description>
        <categories>
          <category>summary</category>
        </categories>
        <supportedModes>
          <mode>view</mode>
        </supportedModes>
        <!-- no configurable properties -->
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/listing_social_document_widget_template.xhtml
      </property>
    </widgetType>

    <!-- override the default userVirtualGroups widget type to hide the
    virtual groups referencing social workspace memberships -->
    <widgetType name="userVirtualGroups">
      <configuration>
        <sinceVersion>5.5</sinceVersion>
        <title>User virtual groups</title>
        <description>
          This widget displays the user virtual groups.
        </description>
        <categories>
          <category>document</category>
        </categories>
        <supportedModes>
          <mode>view</mode>
        </supportedModes>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/social_collaboration_user_vgoups_widget_template.xhtml
      </property>
    </widgetType>

  </extension>

  <extension target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager"
    point="layouts">

    <layout name="social_workspace_heading">
      <templates>
        <template mode="any">/layouts/layout_default_template.xhtml</template>
      </templates>
      <rows>
        <row>
          <widget>title</widget>
        </row>
        <row>
          <widget>description</widget>
        </row>
        <row>
          <widget>subjects</widget>
        </row>
        <row>
          <widget>social_workspace_is_public</widget>
        </row>
        <row>
          <widget>social_workspace_is_restricted</widget>
        </row>
        <row>
          <widget>expired</widget>
        </row>
      </rows>
    </layout>

    <layout name="social_workspace">
      <templates>
        <template mode="any">/layouts/layout_default_template.xhtml</template>
      </templates>
      <rows>
        <row>
          <widget>created</widget>
        </row>
        <row>
          <widget>modified</widget>
        </row>
        <row>
          <widget>author</widget>
        </row>
        <row>
          <widget>contributors</widget>
        </row>
        <row>
          <widget>lastContributor</widget>
        </row>
      </rows>
    </layout>

    <layout name="article">
      <templates>
        <template mode="any">/layouts/layout_default_template.xhtml</template>
      </templates>
      <rows>
        <row>
          <widget>social_document_visibility</widget>
        </row>
        <row>
          <widget>content_picture</widget>
        </row>
      </rows>
    </layout>

    <layout name="news_item">
      <templates>
        <template mode="any">/layouts/layout_default_template.xhtml</template>
      </templates>
      <rows>
        <row>
          <widget>social_document_visibility</widget>
        </row>
        <row>
          <widget>content_picture</widget>
        </row>
      </rows>
    </layout>

    <layout name="social_document_summary_layout">
      <templates>
        <template mode="any">/layouts/layout_summary_template.xhtml</template>
      </templates>
      <rows>
      <row>
      </row>
        <row>
          <widget>summary_current_document_description</widget>
          <widget>summary_note_with_picture</widget>
          <widget>summary_current_document_files</widget>
          <widget>summary_current_document_dublincore</widget>
          <widget>summary_current_document_comments</widget>
        </row>
        <row>
          <widget>summary_social_document_visibility_action</widget>
          <widget>summary_current_document_lc_and_version</widget>
          <widget>summary_current_document_actions</widget>
          <widget>summary_current_document_custom_actions</widget>
          <widget>summary_current_document_tagging</widget>
          <widget>summary_current_document_relations</widget>
        </row>
        <row>
          <widget>summary_current_document_publications</widget>
        </row>
        <row>
          <widget>summary_current_document_single_tasks</widget>
        </row>
      </rows>
    </layout>

    <layout name="news_item_summary_layout">
      <templates>
        <template mode="any">/layouts/layout_summary_template.xhtml</template>
      </templates>
      <rows>
      <row>
      </row>
        <row>
          <widget>summary_current_document_description</widget>
          <widget>summary_note_with_picture</widget>
          <widget>summary_current_document_files</widget>
          <widget>summary_current_document_dublincore</widget>
          <widget>summary_current_document_comments</widget>
        </row>
        <row>
          <widget>summary_news_item_visibility_action</widget>
          <widget>summary_current_document_lc_and_version</widget>
          <widget>summary_current_document_actions</widget>
          <widget>summary_current_document_custom_actions</widget>
          <widget>summary_current_document_tagging</widget>
          <widget>summary_current_document_relations</widget>
        </row>
        <row>
          <widget>summary_current_document_publications</widget>
        </row>
        <row>
          <widget>summary_current_document_single_tasks</widget>
        </row>
      </rows>
    </layout>
    <layout name="collaboration">
      <templates>
        <template mode="any">/layouts/layout_summary_template.xhtml</template>
      </templates>
      <rows>
      <row>
      </row>
        <row>
          <widget>summary_current_document_description</widget>
          <widget>summary_note_with_picture</widget>
        </row>
        <row>
          <widget>summary_current_document_files</widget>
          <widget>summary_current_document_dublincore</widget>
        </row>
      </rows>
    </layout>

    <layout name="file_collaboration">
      <templates>
        <template mode="any">/layouts/layout_summary_template.xhtml</template>
      </templates>
      <rows>
      <row>
      </row>
        <row>
          <widget>summary_current_document_description</widget>
        </row>
        <row>
          <widget>summary_current_document_files</widget>
          <widget>summary_current_document_dublincore</widget>
        </row>
      </rows>
    </layout>

    <layout name="article_listing">
      <templates>
        <template mode="any">/layouts/layout_listing_ajax_template.xhtml
        </template>
      </templates>
      <columns>
        <column name="title_link">
          <properties mode="any">
            <property name="useFirstWidgetLabelAsColumnHeader">true</property>
            <property name="sortPropertyName">dc:title</property>
            <property name="label">label.selection.column.title_link</property>
          </properties>
          <properties mode="edit_sort_infos">
            <property name="showInSortInfoSelection">true</property>
          </properties>
          <widget>listing_article_consultation</widget>
        </column>
      </columns>
    </layout>

    <layout name="news_item_listing">
      <templates>
        <template mode="any">/layouts/layout_listing_ajax_template.xhtml
        </template>
      </templates>
      <columns>
        <column name="title_link">
          <properties mode="any">
            <property name="useFirstWidgetLabelAsColumnHeader">true</property>
            <property name="sortPropertyName">dc:title</property>
            <property name="label">label.selection.column.title_link</property>
          </properties>
          <properties mode="edit_sort_infos">
            <property name="showInSortInfoSelection">true</property>
          </properties>
          <widget>listing_news_consultation</widget>
        </column>
      </columns>
    </layout>

    <layout name="file_listing">
      <templates>
        <template mode="any">/layouts/layout_listing_ajax_template.xhtml
        </template>
      </templates>
      <columns>
        <column name="title_link">
          <properties mode="any">
            <property name="useFirstWidgetLabelAsColumnHeader">true</property>
            <property name="sortPropertyName">dc:title</property>
            <property name="label">label.selection.column.title_link</property>
          </properties>
          <properties mode="edit_sort_infos">
            <property name="showInSortInfoSelection">true</property>
          </properties>
          <widget>listing_social_document_consultation</widget>
        </column>
      </columns>
    </layout>

    <layout name="requests_summary_layout">
      <properties mode="any">
        <property name="showListingHeader">true</property>
        <property name="showRowEvenOddClass">true</property>
      </properties>
      <templates>
        <template mode="any">/layouts/layout_listing_ajax_template.xhtml</template>
      </templates>
      <columns>
        <column name="selection" alwaysSelected="true">
          <properties mode="any">
            <property name="isListingSelectionBox">true</property>
            <property name="useFirstWidgetLabelAsColumnHeader">false</property>
            <property name="columnStyleClass">iconColumn</property>
          </properties>
          <widget>listing_ajax_selection_box</widget>
        </column>
        <column>
          <properties mode="any">
            <property name="useFirstWidgetLabelAsColumnHeader">true</property>
            <property name="sortPropertyName">req:username</property>
          </properties>
          <widget>request_username</widget>
        </column>

        <column name="creation_date">
          <properties mode="any">
            <property name="useFirstWidgetLabelAsColumnHeader">true</property>
            <property name="sortPropertyName">dc:created</property>
            <property name="label">label.dublincore.created</property>
          </properties>
          <properties mode="edit_sort_infos">
            <property name="showInSortInfoSelection">true</property>
          </properties>
          <properties mode="edit_sort_infos_map">
            <property name="showInSortInfoSelection">true</property>
          </properties>
           <widget>listing_creation_date</widget>
        </column>

        <column name="email">
          <properties mode="any">
            <property name="useFirstWidgetLabelAsColumnHeader">true</property>
            <property name="label">label.email</property>
          </properties>
          <widget>request_user_email</widget>
        </column>

         <column name="lifecycle">
          <properties mode="any">
            <property name="useFirstWidgetLabelAsColumnHeader">true</property>
            <property name="sortPropertyName">
              ecm:currentLifeCycleState
            </property>
            <property name="label">
              label.content.header.currentLifecycleState
            </property>
          </properties>
          <properties mode="edit_sort_infos">
            <property name="showInSortInfoSelection">true</property>
          </properties>
          <widget>listing_lifecycle</widget>
        </column>
      </columns>
    </layout>

    <layout name="social_workspace_group">
      <templates>
        <template mode="any">/layouts/layout_default_template.xhtml</template>
      </templates>
      <rows>
        <row>
          <widget>social_workspace_group_members</widget>
        </row>
      </rows>
    </layout>

    <layout name="social_workspace_bulk_import">
      <templates>
        <template mode="any">/layouts/layout_default_template.xhtml</template>
      </templates>
      <rows>
        <row>
          <widget>social_workspace_bulk_import</widget>
        </row>
      </rows>
    </layout>

    <layout name="social_document_heading">
      <templates>
        <template mode="any">/layouts/layout_default_template.xhtml</template>
      </templates>
      <rows>
        <row>
          <widget>title</widget>
        </row>
        <row>
          <widget>required_description</widget>
        </row>
      </rows>
    </layout>

     <layout name="social_document_content">
      <templates>
        <template mode="any">/layouts/layout_default_template.xhtml</template>
      </templates>
      <rows>
        <row>
          <widget>social_document_content</widget>
        </row>
      </rows>
    </layout>

    <layout name="multiple_social_user_invitation_info">
      <templates>
        <template mode="any">/layouts/layout_default_template.xhtml</template>
      </templates>
      <rows>
        <row>
          <widget>multiple_request_emails</widget>
        </row>
        <row>
          <widget>social_request_permission</widget>
        </row>
        <row>
          <widget>user_request_comment</widget>
        </row>
        <row>
          <widget>user_request_copy_owner</widget>
        </row>
      </rows>
    </layout>

    <layout name="social_user_invitation_info">
      <templates>
        <template mode="any">/layouts/layout_default_template.xhtml</template>
      </templates>
      <rows>
        <row>
          <widget>user_request_email</widget>
        </row>
        <row>
          <widget>user_request_login</widget>
        </row>
        <row>
          <widget>user_request_firstName</widget>
        </row>
        <row>
          <widget>user_request_lastName</widget>
        </row>
        <row>
          <widget>social_request_permission</widget>
        </row>
        <row>
          <widget>user_request_comment</widget>
        </row>
        <row>
          <widget>user_request_copy_owner</widget>
        </row>
      </rows>
    </layout>

  </extension>

  <extension target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager"
    point="widgets">

    <widget name="social_workspace_is_public" type="template">
      <labels>
        <label mode="any">label.widget.social.isPublic</label>
      </labels>
      <helpLabels>
         <label mode="any">label.widget.social.isPublic.info</label>
       </helpLabels>
      <translated>true</translated>
      <fields>
        <field>socialw:isPublic</field>
      </fields>
      <properties mode="any">
        <property name="template">
          /widgets/boolean_radio_widget_template.xhtml
        </property>
      </properties>
    </widget>

    <widget name="social_workspace_is_restricted" type="template">
      <labels>
        <label mode="any">label.widget.social.isRestricted</label>
      </labels>
      <helpLabels>
         <label mode="any">label.widget.social.isRestricted.info</label>
       </helpLabels>
      <translated>true</translated>
      <fields>
        <field>socialw:approveSubscription</field>
      </fields>
      <properties mode="any">
        <property name="template">
          /widgets/boolean_radio_widget_template.xhtml
        </property>
      </properties>
    </widget>

    <widget name="content_picture" type="file">
      <labels>
        <label mode="any">label.widget.article.picture</label>
      </labels>
      <translated>true</translated>
      <fields>
        <field>contentpict:picture</field>
        <field>contentpict:picturename</field>
      </fields>
      <properties widgetMode="edit">
        <property name="styleClass">dataInputText</property>
        <property name="validator">ImageBlobValidator</property>
      </properties>
    </widget>

    <widget name="summary_note_with_picture" type="template">
      <fields>
        <field>note:note</field>
        <field>note:mime_type</field>
        <field>contentpict:picturename</field>
      </fields>
      <properties widgetMode="view">
        <property name="translatedHtml">
          #{noteActions.translateImageLinks(field_0)}
        </property>
        <property name="cssClass">note_content_block</property>
        <property name="float">left</property>
      </properties>
      <properties mode="any">
        <property name="template">/widgets/summary_note_with_picture_widget_template.xhtml</property>
      </properties>
      <widgetModes>
        <mode value="any">view</mode>
      </widgetModes>
    </widget>

    <widget name="summary_social_document_visibility_action" type="summary_social_document_visibility_action">
      <labels>
        <label mode="any"></label>
      </labels>
      <translated>false</translated>
      <fields>
        <field>socialdoc:isPublic</field>
      </fields>
      <widgetModes>
        <mode value="any" >#{currentDocument.isProxy() ? 'hidden' : 'view'}</mode>
      </widgetModes>
      <properties widgetMode="any">
        <property name="isActionVisible">true</property>
      </properties>
    </widget>

    <widget name="summary_news_item_visibility_action" type="summary_social_document_visibility_action">
      <labels>
        <label mode="any"></label>
      </labels>
      <translated>false</translated>
      <fields>
        <field>socialdoc:isPublic</field>
      </fields>
      <widgetModes>
        <mode value="any" >#{currentDocument.isProxy() ? 'hidden' : 'view'}</mode>
      </widgetModes>
      <properties widgetMode="any">
        <property name="isActionVisible">#{currentUser.isAdministrator()}</property>
      </properties>
    </widget>

    <widget name="social_document_visibility" type="template">
      <labels>
        <label mode="any">social.document.publication</label>
      </labels>
      <translated>true</translated>
      <fields>
        <field>socialdoc:isPublic</field>
      </fields>
      <widgetModes>
        <mode value="edit" >#{socialWorkspaceActions.isCurrentUserAdministratorOrMemberOfCurrentSocialWorkspace() ? 'edit' : 'view'}</mode>
        <mode value="create" >#{socialWorkspaceActions.isCurrentUserAdministratorOrMemberOfCurrentSocialWorkspace() ? 'edit' : 'view'}</mode>
      </widgetModes>
      <properties mode="any">
        <property name="required">true</property>
        <property name="template">
          /widgets/visibility_radio_widget_template.xhtml
        </property>
      </properties>
    </widget>

    <widget name="request_user_email" type="text">
      <labels>
        <label mode="any">email</label>
      </labels>
      <fields>
         <field>data.req.userEmail</field>
      </fields>
      <widgetModes>
        <mode value="any">view</mode>
      </widgetModes>
    </widget>

    <widget name="request_username" type="singleUserSuggestion">
      <labels>
        <label mode="any">label.username</label>
      </labels>
      <fields>
         <field>data.req.username</field>
      </fields>
      <widgetModes>
        <mode value="any">view</mode>
      </widgetModes>
      <properties widgetMode="view">
        <property name="userSuggestionSearchType">USER_TYPE</property>
        <property name="firstLabelField">username</property>
        <property name="hideFirstLabel">true</property>
        <property name="displayAction">view</property>
      </properties>
    </widget>

    <widget name="listing_article_consultation" type="listing_social_document_consultation">
      <labels>
        <label mode="any"></label>
      </labels>
      <translated>false</translated>
      <fields>
        <field>data</field>
      </fields>
      <widgetModes>
        <mode value="any">view</mode>
      </widgetModes>
      <properties mode="any">
        <property name="displayActions">true</property>
      </properties>
    </widget>

    <widget name="listing_news_consultation" type="listing_social_document_consultation">
      <labels>
        <label mode="any"></label>
      </labels>
      <translated>false</translated>
      <fields>
        <field>data</field>
      </fields>
      <widgetModes>
        <mode value="any">view</mode>
      </widgetModes>
      <properties mode="any">
        <property name="displayActions">#{socialWorkspaceActions.isCurrentUserAdministratorOfCurrentSocialWorkspace()}</property>
      </properties>
    </widget>

    <widget name="social_workspace_group_members" type="template">
      <labels>
        <label mode="any">label.groupManager.userMembers</label>
      </labels>
      <translated>true</translated>
      <fields>
        <field></field>
      </fields>
      <properties widgetMode="any">
        <property name="template">
          /widgets/user_suggestion_widget_template.xhtml
        </property>
        <property name="userSuggestionSearchType">USER_TYPE</property>
        <property name="operationId">UserGroup.Suggestion</property>
      </properties>
    </widget>

    <widget name="social_workspace_bulk_import" type="template">
      <labels>
        <label mode="any">label.groupManager.groups</label>
      </labels>
      <translated>true</translated>
      <fields>
        <field></field>
      </fields>
      <properties widgetMode="any">
        <property name="template">
          /widgets/user_suggestion_widget_template.xhtml
        </property>
        <property name="userSuggestionSearchType">GROUP_TYPE</property>
      </properties>
    </widget>

    <widget name="required_description" type="textarea">
      <labels>
        <label mode="any">description</label>
      </labels>
      <translated>true</translated>
      <fields>
        <field>dc:description</field>
      </fields>
      <properties widgetMode="edit">
        <property name="required">true</property>
        <property name="styleClass">dataInputText</property>
      </properties>
    </widget>

    <widget name="social_document_content" type="richtext_with_mimetype">
      <labels>
        <label mode="any">label.social.document.content</label>
      </labels>
      <translated>true</translated>
      <fields>
        <field>note:note</field>
        <field>note:mime_type</field>
      </fields>
      <properties mode="view">
        <property name="translatedHtml">
          #{noteActions.translateImageLinks(field_0)}
        </property>
      </properties>
    </widget>

    <widget name="social_request_permission" type="selectOneMenu">
      <fields>
        <field>data.docinfo.permission</field>
      </fields>
      <labels>
        <label mode="any">label.docinfo.permission</label>
      </labels>
      <selectOptions>
        <options value="#{bulkImportSocialWorkspaceActions.rightsMenuEntries}"
          var="entry" itemValue="#{entry.value}" itemLabel="#{messages[entry.label]}" />
      </selectOptions>
    </widget>

    <widget name="user_request_accept" type="template">
      <labels>
        <label mode="any">command.userrequest.accept</label>
      </labels>
      <widgetModes>
        <mode value="any">#{currentUser.isAdministrator() || socialWorkspaceActions.isCurrentUserAdministratorOfCurrentSocialWorkspace() ? 'edit' : 'hidden'}</mode>
      </widgetModes>
      <fields>
        <field>data</field>
      </fields>
      <properties mode="any">
        <property name="template">/widgets/user_request_accept_widget_template.xhtml</property>
      </properties>
    </widget>

    <widget name="user_request_reject" type="template">
      <labels>
        <label mode="any">command.userrequest.reject</label>
      </labels>
      <widgetModes>
        <mode value="any">#{currentUser.isAdministrator() || socialWorkspaceActions.isCurrentUserAdministratorOfCurrentSocialWorkspace() ? 'edit' : 'hidden'}</mode>
      </widgetModes>
      <fields>
        <field>data</field>
      </fields>
      <properties mode="any">
        <property name="template">/widgets/user_request_reject_widget_template.xhtml</property>
      </properties>
    </widget>
  </extension>

</component>